home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 101-125 / disk_108 / dots-perfect / driver.i < prev    next >
Text File  |  1992-05-06  |  2KB  |  99 lines

  1. **********************************************************************
  2. *            ADDITIONAL PRINTER DRIVER MACROS
  3. *
  4. *    These macros were extracted from exec/strings.i, exec/libraries.i,
  5. *    devices/prtbase.i and macros.i to speed up the compilation of printer
  6. *    driver assembler modules.
  7. *
  8. **********************************************************************
  9.  
  10. *--------------------------*
  11. *               *
  12. *   String Support Macros  *
  13. *               *
  14. *--------------------------*
  15.  
  16. STRING      MACRO
  17.             DC.B    \1
  18.             DC.B    0
  19.             CNOP    0,2
  20.             ENDM
  21.  
  22. *--------------------------*
  23. *               *
  24. *Function Invocation Macros*
  25. *               *
  26. *--------------------------*
  27.  
  28. *------ CALLLIB for calling functions where A6 is already correct:
  29.  
  30. CALLLIB     MACRO   * functionOffset
  31.         IFGT NARG-1
  32.             FAIL    !!! CALLLIB MACRO - too many arguments !!!
  33.         ENDC
  34.             JSR     \1(A6)
  35.             ENDM
  36.  
  37. *------ LINKLIB for calling functions where A6 is incorrect:
  38.  
  39. LINKLIB     MACRO   * functionOffset,libraryBase
  40.         IFGT NARG-2
  41.             FAIL    !!! LINKLIB MACRO - too many arguments !!!
  42.         ENDC
  43.             MOVE.L  A6,-(SP)
  44.             MOVE.L  \2,A6
  45.             CALLLIB \1
  46.             MOVE.L  (SP)+,A6
  47.             ENDM
  48.  
  49. *--------------------------*
  50. *               *
  51. *  Printer Device Macros   *
  52. *               *
  53. *--------------------------*
  54.  
  55. *---- external definition macros -------------------------------
  56.  
  57. XREF_EXE    MACRO
  58.     XREF        _LVO\1
  59.         ENDM
  60.  
  61. XREF_GFX    MACRO
  62.     XREF        _LVO\1
  63.         ENDM
  64.  
  65. *---- library dispatch macros ----------------------------------
  66.  
  67. CALLEXE        MACRO
  68.         CALLLIB _LVO\1
  69.         ENDM
  70.  
  71. LINKEXE        MACRO
  72.         LINKLIB _LVO\1,_SysBase
  73.         ENDM
  74.  
  75. LINKGFX        MACRO
  76.         LINKLIB _LVO\1,_GfxBase
  77.         ENDM
  78.  
  79. *--------------------------*
  80. *               *
  81. *     Printer Constants    *
  82. *               *
  83. *--------------------------*
  84.  
  85. *------PRINTER CLASS-------*
  86.  
  87. PPC_BWALPHA    EQU    0    ;alphanumerics, no graphics
  88. PPC_BWGFX      EQU    1    ;black & white (only) graphics
  89. PPC_COLORGFX   EQU    3    ;colour (and maybe) B&W graphics
  90.  
  91. *-------COLOUR CLASS-------*
  92.  
  93. PCC_BW          EQU     1    ;Black and white only
  94. PCC_YMC         EQU     2    ;Yellow,magenta,cyan only
  95. PCC_YMC_BW      EQU     3    ;Yellow or black & white (but not both)
  96. PCC_YMCB        EQU     4    ;Yellow,magenta,cyan,black
  97.  
  98. PCC_4COLOR      EQU     $4      ; a flag for YMCB and BGRW
  99.